// main.js（Vue 3 + Uni-app 完整版本）
import App from './App'
import { createSSRApp } from 'vue'
import { checkResetFlag } from './components/timeModule/countdown.js'
import uniCountdownVue from './uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue'


// 全局属性注入
const globalData = {
  // 在这里定义全局数据和方法
  appName: 'Nursing1',
  version: '1.0.0',
  // 其他全局数据...
}

// 导出 createApp 函数（用于服务端渲染）
export function createApp() {
  const app = createSSRApp(App)
  
  // 全局属性注入（替代 Vue 2 的 $vm）
  app.config.globalProperties.$global = globalData
  
  // 初始化导航拦截器
  initNavInterceptors()
  
  return {
    app
  }
}

// 导航拦截器（确保在 app 创建后执行）
function initNavInterceptors() {
  // 导航拦截器：在页面跳转前检查重置标志
  uni.addInterceptor('navigateTo', {
    invoke(args) {
      checkResetFlag(args.url.replace(/^\//, ''))
      return args
    }
  })
  
  uni.addInterceptor('redirectTo', {
    invoke(args) {
      checkResetFlag(args.url.replace(/^\//, ''))
      return args
    }
  })
  
  uni.addInterceptor('reLaunch', {
    invoke(args) {
      checkResetFlag(args.url.replace(/^\//, ''))
      return args
    }
  })
  
  // 拦截后退操作（可选）
  // uni.addInterceptor('navigateBack', {
  //   success() {
  //     setTimeout(() => {
  //       const pages = getCurrentPages()
  //       if (pages.length > 0) {
  //         const currentPath = pages[0].route
  //         console.log(`返回后当前页面: ${currentPath}`)
  //       }
  //     }, 100)
  //   }
  // })
}